import bmesh
import bpy

# bmesh 构建
me = bpy.context.object.data
bm = bmesh.new()
bm.from_mesh(me)

# 搜索四边面
for face in bm.faces:
    if len(face.loops) == 4:
        # 1 ·----· 2
        #   |\   |
        #   | \  |
        #   |  \ |
        # 0 ·----· 3
        try:
            # 创建四边面中 0-1-3的边连接
            bm.faces.new((face.loops[0].vert,
                          face.loops[1].vert,
                          face.loops[3].vert))
        except ValueError:
            # 如果边已经存在 则跳过
            pass
        try:
            # 创建四边面中  1-2-3的边连接
            bm.faces.new((face.loops[1].vert,
                          face.loops[2].vert,
                          face.loops[3].vert))
        except ValueError:
            pass
        # 删除四边面
        bm.faces.remove(face)
# 回传网格数据
bm.to_mesh(me)
